home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / doom / axxwar_1.zip / SOURCES / LIMIT.QC < prev    next >
Text File  |  1997-03-04  |  4KB  |  132 lines

  1. // AxxWars 0.8
  2.  
  3. /*
  4. Impulse limiter
  5. Version 1.00
  6.  
  7. Allows the blocking of certain impulses
  8. */
  9.  
  10. .float limitWeapon;
  11. .float lastWeapon;
  12.  
  13. float (float lWeapon) IsWeaponAllowed =
  14.         {
  15.         if (lWeapon & self.limitWeapon)
  16.                 return 0;
  17.         else
  18.                 return 1;
  19.         };
  20.  
  21. void (float lWeapon, float limitWeaponFor) SetLimitWeapon =
  22.     {
  23.         local float n;
  24.         local entity p;
  25.         local string s;
  26.         local float lWeaponFlag;
  27.  
  28.         sprint(self, "Weapon ");
  29.         s=ftos(lWeapon);
  30.         sprint(self, s);
  31.         sprint(self, " is now off limits for player ");
  32.         s=ftos(limitWeaponFor);
  33.         sprint(self, s);
  34.     sprint(self, "\n");
  35.  
  36.         if (lWeapon==1)
  37.                 lWeaponFlag=IT_AXE;
  38.         else if (lWeapon==2)
  39.                 lWeaponFlag=IT_SNIPER;
  40.         else if (lWeapon==3)
  41.                 lWeaponFlag=IT_SUPER_SHOTGUN;
  42.         else if (lWeapon==4)
  43.                 lWeaponFlag=IT_NAILGUN;
  44.         else if (lWeapon==5)
  45.                 lWeaponFlag=IT_SUPER_NAILGUN;
  46.         else if (lWeapon==6)
  47.                 lWeaponFlag=IT_GRENADE_LAUNCHER;
  48.         else if (lWeapon==7)
  49.                 lWeaponFlag=IT_ROCKET_LAUNCHER;
  50.         else if (lWeapon==8)
  51.                 lWeaponFlag=IT_LIGHTNING;
  52.  
  53.  
  54.  
  55.         p = find(world, classname, "player");
  56.     n=1;
  57.     while (p != world)
  58.         {
  59.                 if (n==limitWeaponFor || limitWeaponFor==0)
  60.             {
  61.                         p.limitWeapon= p.limitWeapon | lWeaponFlag;
  62.                         sprint(p, "Weapon ");
  63.                         s=ftos(lWeapon);
  64.                         sprint(p, s);
  65.                         sprint(p, " is now off limits\n");
  66.  
  67.                         // Stuff a command into their console so their current
  68.                         // weapon is changed
  69.                         stuffcmd(p, "impulse 10;wait;impulse 12;wait\n");
  70.             }
  71.                 p = find(p, classname, "player");
  72.         n=n+1;
  73.                 }
  74.         };
  75.  
  76. void (float lWeapon, float limitWeaponFor) UnSetLimitWeapon =
  77.     {
  78.         local float n;
  79.         local entity p;
  80.         local string s;
  81.         local float lWeaponFlag;
  82.  
  83.         sprint(self, "Weapon ");
  84.         s=ftos(lWeapon);
  85.         sprint(self, s);
  86.         sprint(self, " is now allowed for player ");
  87.         s=ftos(limitWeaponFor);
  88.         sprint(self, s);
  89.     sprint(self, "\n");
  90.  
  91.         if (lWeapon==1)
  92.                 lWeaponFlag=IT_AXE;
  93.         else if (lWeapon==2)
  94.                 lWeaponFlag=IT_SNIPER;
  95.         else if (lWeapon==3)
  96.                 lWeaponFlag=IT_SUPER_SHOTGUN;
  97.         else if (lWeapon==4)
  98.                 lWeaponFlag=IT_NAILGUN;
  99.         else if (lWeapon==5)
  100.                 lWeaponFlag=IT_SUPER_NAILGUN;
  101.         else if (lWeapon==6)
  102.                 lWeaponFlag=IT_GRENADE_LAUNCHER;
  103.         else if (lWeapon==7)
  104.                 lWeaponFlag=IT_ROCKET_LAUNCHER;
  105.         else if (lWeapon==8)
  106.                 lWeaponFlag=IT_LIGHTNING;
  107.  
  108.  
  109.  
  110.         p = find(world, classname, "player");
  111.     n=1;
  112.     while (p != world)
  113.         {
  114.                 if (n==limitWeaponFor || limitWeaponFor==0)
  115.             {
  116.                         p.limitWeapon= p.limitWeapon - lWeaponFlag;
  117.                         sprint(p, "Weapon ");
  118.                         s=ftos(lWeapon);
  119.                         sprint(p, s);
  120.                         sprint(p, " is now allowed\n");
  121.             }
  122.                 p = find(p, classname, "player");
  123.         n=n+1;
  124.                 }
  125.         };
  126.  
  127. /*        local float temp;
  128.         lWeapon=temp;
  129.         while (!(temp & lWeapon))
  130.                 { */
  131.  
  132.